#ifdef OLD_HEADER_FILENAME
#include <iostream.h>
#else
#include <iostream>
#endif
#include <string>

#ifndef H5_NO_NAMESPACE
#ifndef H5_NO_STD
using std::cout;
using std::endl;
#endif  // H5_NO_STD
#endif

#include "H5Cpp.h"

#ifndef H5_NO_NAMESPACE
using namespace H5;
#endif

class HDF
{
private:
	const char* FILE_NAME;
	H5File* file;

	enum dataType{Int,Str};

public:
	HDF(const char* fileName);
	~HDF();
public:
	void write(int* data, int size, const char* datasetName);
	void write(char** data, int size, const char* datasetName);

	void read(void* data, const char* datasetName);

	void getInfo();

private:
	bool isDataSetExist(const char* datasetName);
	void createNewDataSet(int size, const char* datasetName, dataType dtype);
	void createNewDataSet(hsize_t* dims,hsize_t* maxdims, hsize_t* chunk_dims, const char* datasetName, dataType dtype);

};